1. Technical Field
The present invention relates to rendering user interface elements in a content browser and more particularly to emulating pull-down and pop-up menus in a content browser.
2. Description of the Related Art
Prior to the popularization of the Internet and the subsequent deployment of the World Wide Web, software publishers typically distributed computer applications via storage media such as a computer diskette or compact disc. Initially, such computer applications included underlying program logic, data storage and, optionally, a user interface. Over time, as the processing capabilities of underlying computing devices evolved, increasingly more complex user interfaces were developed for use with corresponding computer applications. In particular, the advent of the graphical user interface (GUI) resulted in an expectation among end users that a computer application include an intuitive and aesthetically pleasing graphical interface through which end users could effectively interact with the computer application.
Recently, given the popularization of the Internet and the World Wide Web, it is no longer reasonable to presume that computer applications are distributed exclusively via disk medium. Rather, in many cases, conventional computer programs are distributed electronically via the Internet. More importantly, however, in many cases computer applications are no longer distributed as stand-alone executable programs. Rather, many computer applications are distributed as Web applications which can include a collection of hypermedia documents such as Web pages which can be viewed in hypermedia content browsers such as Web browsers.
In the case of a Web application, users interact with the underlying program logic not through a traditional GUI, but through a GUI provided by widgets embedded in a hypermedia document displayed in a hypermedia content browser. Unfortunately, Web-based GUIs do not enjoy the same flexibility of the conventional GUI. Specifically, GUI widgets which can be dynamically modified during run-time are not also included as part of a Web-enabled GUI. In fact, fundamental limitations of modern markup languages prohibit software developers from accessing “basic” GUI components such as a drop-down and pop-up menu structures.
Though it is important to be able to emulate traditional application menus in Web applications, such emulation is not easily undertaken. Present solutions address this deficiency by utilizing embedded scripting and program logic requiring advanced processing in the content browser. For instance, it is known to emulate drop-down menus using JavaScript and Dynamic HTML. Still, some conventional Web browsers cannot process JavaScript or Dynamic HTML and are configured only to process basic versions of HTML, such as HTML 3.2. Moreover, the activation of drop-down menus facilitated through JavaScript and Dynamic HTML often require extensive communications between the content browser and content server. Extensive communications between the content server and content browser, however, can detract from the performance of the Web application.